

區分成這樣是為了讓 Kernel 方便管理 User Space 的 Application ,避免有些 Application 搶資源,這時候就可以由 Kernel Space 停止那些指令運行

Secure Shell Protocol



-
d
l
用戶:就用戶
群組:主群組和附加群組

密碼不會存在這,所以上面是寫 x




r :
表示具有讀取目錄結構清單的權限,可以查詢該目錄下的檔名資料。
w :
建立新的檔案與目錄;
刪除已經存在的檔案與目錄(不論該檔案的權限為何!)
將已存在的檔案或目錄進行更名;
搬移該目錄內的檔案、目錄位置。
x (access directory):
使用者能否進入該目錄成為工作目錄的用途(能否cd進入)\

SUID:執行時相當於擁有檔案owner的權限,僅對檔案生效
SGID:
對檔案設定:執行時相當於擁有檔案group的權限
對目錄設定:此目錄下的有效群組(effective group)將會變成該目錄的群組
SBIT:僅能對目錄設定,使用者在該目錄下建立檔案或目錄時,僅有自己與 root 才有權力刪除該檔案
SUID = 4 SGID = 2 SBIT = 1 _755

他的值會是 777 減去 umask 的值,所以如果 umask 是 022 的話,那就是 755
-S: 顯示成比較好檢視的樣子

man xxx
xxx -h / xxx --help
cd: change directory (可用絕對路徑或相對路徑)pwd: print working directoryls: list
-a: 顯示隱藏檔-l: 顯示詳細資訊 (ll 是 ls -l 的縮寫)exa: 跟 ls 類似,但是有顏色rm: remove
-r: 遞迴刪除-f: 強制刪除cp: copymv: movecat: concatenatetac: 反向顯示od: octal dumpnl: number lines(會把檔案的每一行編號)more: 一次顯示一頁less: 也是一次顯示一頁,但是可以往前翻 (vim 的操作方式)mkdir: make directorytouch: 建立檔案rmdir: remove directorynano: 編輯器vi: 很棒的編輯器vim: 更棒的編輯器chmod: change mode
chmod 777 xxx: 三個數字分別代表 user/group/others,每個數字代表 rwx,所以 777 就是全部都有 rwxchmod -x xxx: 移除所有人對 xxx 的執行權限chmod +x xxx: 給所有人對 xxx 的執行權限chmod u+x xxx: 給 user 對 xxx 的執行權限 (u = user, g = group, o = others, a = all)chmod 4755 xxx 來設定 SUID ,然後+s 來設定 SUID/SGID,+t 來設定 SBITchown: change owner
chown user xxx: 把 xxx 的 owner 改成 userchown user:group xxx: 把 xxx 的 owner 改成 user,group 改成 groupchgrop: change group
chgrp group xxx: 把 xxx 的 group 改成 groupchattr: change attribute
chattr +i xxx: 讓 xxx 變成不可刪除chattr +a xxx: 讓 xxx 變成只能增加資料,不能刪除lsattr: 顯示檔案屬性passwd: 更改密碼which / whereis: 找指令的位置tar: 包裝 or 壓縮檔案
v: 顯示詳細資訊f: 檔案名稱c: 建立壓縮檔j: 用 bzip2 壓縮z: 用 gzip 壓縮J: 用 xz 壓縮x: 解壓縮tar -cvf xxx.tar xxx: 壓縮tar -xvf xxx.tar: 解壓縮tar -zcvf xxx.tar.gz xxx: 壓縮成 .tar.gztar -zxvf xxx.tar.gz: 解壓縮 .tar.gz|,把前面的結果傳給後面
ls | grep xxx 就是把 ls 的結果傳給 grep 來找 xxx
sleep: 會暫停後面接的秒數Ctrl+C: 中斷目前的指令Ctrl+Z: 暫停目前的指令 (suspended)
jobs: 查看暫停的指令fg: 把暫停的指令恢復 (利用 %{number} 來指定要恢復 jobs 中指令的編號)bg: 把暫停的指令變成背景執行Ctrl+D: EOF>,把前面的結果寫到後面的檔案,>> 是 append, < 是把檔案的內容傳給後面的指令
ls > xxx.txt 就是把 ls 的結果寫到 xxx.txt
ls >> xxx.txt 就是把 ls 的結果 append 到 xxx.txt
cat < xxx.txt 就是把 xxx.txt 的內容傳給 cat
2> 是把錯誤訊息寫到檔案.: 任意字元*: 0 到無限多次+: 1 到無限多次[abc]: a, b, c 任一個[^abc]: 除了 a, b, c 之外[a-z]: a 到 z 之間sed: stream editor 有點複雜,會用到的時候再查就好grep: global regular expression print
-i: 不分大小寫-v: 反向選取-n: 顯示行數-r: 遞迴-l: 只顯示檔名-c: 只顯示數量-e: 多個條件-E: 正規表達式-A: 顯示後面幾行-B: 顯示前面幾行-C: 顯示前後幾行grep xxx *: 在所有檔案中找 xxx
find: 找檔案.sh 結尾的檔案,然後裡面寫一些指令chmod 加執行權限就可以執行了crontab: 定時執行
crontab -e: 編輯crontab -l: 列出crontab -r: 刪除* * * * * xxx: 分鐘 小時 日 月 星期幾 指令apt update: 更新套件apt upgrade: 升級套件 (順序會是先更新再升級)apt install xxx: 安裝套件apt remove xxx: 移除套件apt search xxx: 搜尋套件apt list: 列出所有套件apt show xxx: 顯示套件資訊apt autoremove: 移除不需要的套件apt clean: 清除快取apt autoclean: 清除舊的快取$(): 會優先執行 () 指令的標準輸出,當成前面的指令的參數
echo $(ls) 就是把 ls 的結果傳給 echo
cut: 切割
-d: 分隔符號-f: 第幾個cut -d " " -f 1 xxx: 以空格切割,取第一個